package com.google.code.jarquivoretorno.core;

import java.io.File;
import java.io.InputStream;
import java.util.List;

import com.google.code.jarquivoretorno.core.exc.IError;
import com.google.code.jarquivoretorno.layout.LayoutFile;

/**
 * 
 * @since 02/02/2010 10:58:16
 * @author Rafael Freitas de Morais
 *
 */
class ContextoArquivoRetornoImpl implements ContextoArquivoRetorno{

	private ManipuladorArquivo manipuladorArquivo;
	
	public ContextoArquivoRetornoImpl() {
		manipuladorArquivo = new ManipuladorArquivo();
	}
	
	@Override
	public void addArquivoRetorno(String path) {
		manipuladorArquivo.loadArquivo(path);
	}
	
	@Override
	public void addArquivoRetorno(byte[] dadosArq) {
		manipuladorArquivo.loadArquivo(dadosArq);
	}

	@Override
	public void addArquivoRetorno(File dir) {
	}

	@Override
	public void loadLayout(InputStream file) {
		manipuladorArquivo.loadLayout(file);
	}
	
	@Override
	public void loadLayout(LayoutFile layout) {
		manipuladorArquivo.loadLayout(layout);
	}

	@Override
	public List<IError> getErrors() {
		return manipuladorArquivo.getErrors();
	}

	@Override
	public boolean hasErrors() {
		if(manipuladorArquivo.getErrors().size() > 0) {
			return true;
		}
		return false;
	}

	@Override
	public ArquivoRetornoManager newArquivoRetornoManager() {
		return new ArquivoRetornoManagerImpl(manipuladorArquivo.getLayout(), manipuladorArquivo.getArquivos());
	}

}
